package com.UnionPayCenter.distribution.manager;

import com.UnionPayCenter.distribution.entity.DistributionTemplateCardDO;

import java.util.List;

/**
 * @author Noah
 * @since 1.0.0, 2019/08/03
 */
public interface DistributionTemplateCardManager {


    /**
     * 保存邀请人店铺卡券信息
     *
     * @param cardDOList 卡券信息
     * @param shopId     店铺ID
     * @param idgen      模板ID
     */
    void saveUserDistributionTemplateCard(List<DistributionTemplateCardDO> cardDOList, Long shopId, Integer idgen);


    /**
     * 保存被邀请人店铺卡券信息
     *
     * @param cardDOList 卡券信息
     * @param shopId     店铺ID
     * @param idgen      模板ID
     */
    void saveCounterpartyUserDistributionTemplateCard(List<DistributionTemplateCardDO> cardDOList, Integer memberShipCardId, Long shopId, Integer idgen);


    /**
     * 获取模板卡券列表
     *
     * @param shopId 店铺ID
     * @param idgen  模板ID
     * @return 卡券列表
     */
    List<DistributionTemplateCardDO> listUserTemplateCard(Long shopId, Integer idgen);

    /**
     * 获取模板卡券列表
     *
     * @param shopId 店铺ID
     * @param idgen  模板ID
     * @return 卡券列表
     */
    List<DistributionTemplateCardDO> listCounterpartyUserTemplateCard(Long shopId, Integer idgen);

    /**
     * 获取会员卡信息
     *
     * @param shopId 店铺ID
     * @param idgen  模板ID
     * @return
     */
    String getMemberShipCard(Long shopId, Integer idgen);

}
